home *** CD-ROM | disk | FTP | other *** search
- // Copyright (c)1995 Ray Dream, Inc. All Rights Reserved.
- /*$Id: COMSand.h 1.4 1997/07/01 18:19:09 damien Exp $*/
-
- //
- // COM Example of a Post Renderer
- //
-
- #ifndef __COMSand__
- #define __COMSand__
-
- #ifndef __I3DEXAB__
- #include "I3DExPos.h"
- #endif
-
- #ifndef __I3DSHUTI__
- #include "I3DShUti.h"
- #endif
-
- // define the Sand CLSID
-
- // {67FB7860-F9EE-11cf-9A2C-0020AF28193A}
- DEFINE_GUID(CLSID_Sand, 0x67fb7860L, 0xf9ee, 0x11cf, 0x9a, 0x2c, 0x00, 0x20, 0xaf, 0x28, 0x19, 0x3a);
-
-
- extern IShUtilities* sandShellUtilities;
-
-
- typedef struct SandData {
- // nothing yet
- } SandData;
-
-
- // Sand Object :
- #undef INTERFACE
- #define INTERFACE Sand
- class Sand : public I3DExPostRenderer {
- public :
- Sand();
- ~Sand();
-
- // IUnknown Interface :
- STDMETHODIMP QueryInterface(THIS_ REFIID riid, LPVOID* ppvObj);
- STDMETHODIMP_(ULONG) AddRef(THIS);
- STDMETHODIMP_(ULONG) Release(THIS);
-
- // I3DExtension method :
- STDMETHODIMP_(I3DExtension*) Clone(THIS);
- STDMETHODIMP ShellUtilitiesInit(THIS_ IShUtilities* shellUtilities);
-
- // I3DExDataExchanger methods :
- STDMETHODIMP_(ExtensionDataMap*) GetExtensionDataMap(THIS);
- STDMETHODIMP_(void*) GetExtensionDataBuffer(THIS);
- STDMETHODIMP ExtensionDataChanged(THIS);
- STDMETHODIMP HandleEvent(THIS_ ULONG sourceID);
- STDMETHODIMP_(short) GetResID(THIS);
-
- // I3DExPostRenderer methods
- STDMETHODIMP_(void) Filter (THIS_ I3DShScene* theScene,IShRasterOffscreen* theImage,IUnknown** theBuffers,
- IShGraphicDevice* gd, /*TExternalRenderer*/void* renderer, void* renderHelper);
- STDMETHODIMP_(void) GetBufferNeeds (THIS_ /*RenderFilterNeeds&*/long* needs, /*TExternalRenderer*/void* renderer);
-
- private :
- ULONG fCRef; // reference Counter
- //SandData fData; // Sandpheric Data
- };
-
-
- #endif
-